using System.Collections.Generic;
using Clarendon.AzureBilling.Library;
using Clarendon.AzureBilling.Library.Structures;
using FluentAssertions;
using Moq;
using NUnit.Framework;

namespace Clarendon.AzureBilling.Repository.Specifications
{
    [TestFixture]
    public class Repository_specifications
    {
        [Test]
        public void Can_return_a_services_list_spec()
        {
            //Arrange
            var servicesRepositoryMock = new Mock<IDeploymentRepository>();

            servicesRepositoryMock.Setup(r => r.Get()).Returns(new List<Deployment>()
                                                                   {
                                                                       new Deployment()
                                                                           {
                                                                               Name="",
                                                                               RoleInstanceList=new List<RoleInstance>(),
                                                                               Status = "",
                                                                               Url=""
                                                                           }
                                                                   });


            //Act
            var output = servicesRepositoryMock.Object.Get();


            //Assert
            output.Count.Should().Be(1);
        }
    }
}